home *** CD-ROM | disk | FTP | other *** search
/ Die Ultimative Software-P…i Collection 1996 & 1997 / Die Ultimative Software-Pakete CD-ROM fur Atari Collection 1996 & 1997.iso / p / pov / povlisti.ngs / en.pov < prev    next >
Encoding:
Text File  |  1992-07-23  |  16.2 KB  |  680 lines

  1. //     A 1955 Negative Enlarger .......5/23/92 M. Miller
  2.  
  3.  
  4.  
  5.  
  6. #include "colors.inc"
  7. #include "shapes.inc"
  8. #include "textures.inc"
  9. #include "spot.inc"
  10. #include "w2.inc"
  11.  
  12.  
  13.  
  14. camera {
  15.     location <-160 120 -300> 
  16.     direction <0 0 1.95> 
  17.     look_at <-40 60 0> 
  18.     up <0 1 0> 
  19.     right <1.3 0 0> 
  20. }
  21.  
  22.  
  23. //----- Light 1
  24. object { light_source { <600 100 -300> color White }}
  25.  
  26. //----- Light 2
  27. object { light_source { <-300 1000 -350> color White }}
  28.  
  29. //----- Light 3
  30. object { light_source { <-1300 -200 100> color Firebrick }}
  31.  
  32.  
  33. //****************************************************
  34. //----- Declare Textures
  35.  
  36. //-------Gray Wrinkle Texture
  37. #declare WrinkleGray = 
  38.     texture { 
  39.     color red 0.45 green 0.4 blue 0.4 
  40.     0.03 
  41.     roughness 0.9 
  42.     ambient 0.3 
  43.     diffuse 0.7 
  44.     wrinkles 0.5
  45.     phong 0.5 
  46.     phong_size 10 
  47.     scale <0.1 0.1 0.1> 
  48. }
  49.  
  50. //-------DarkGray Wrinkle Texture
  51. #declare DGray = texture { 
  52.     color red 0.25 green 0.2 blue 0.2 
  53.     0.03 
  54.     roughness 0.9 
  55.     ambient 0.3 
  56.     diffuse 0.6 
  57.     wrinkles 0.5
  58.     phong 0.5 
  59.     phong_size 10 
  60.     scale <0.1 0.1 0.1> 
  61. }
  62.  
  63.  
  64.  
  65. //-------Dark Red Cloth Texture
  66. #declare BELL = texture { 
  67.     color red 0.44 green 0.0 blue 0.17 
  68.     0.05  
  69.     ambient 0.3 
  70.     diffuse 0.7 
  71.     wrinkles 0.25
  72.     phong 0.5 
  73.     phong_size 10 
  74.     scale <0.1 0.1 0.1> 
  75. }
  76.  
  77.  
  78. //-------Dark Red 
  79. #declare Kidney = texture { 
  80.     color red 0.3 green 0.15 blue 0.15 
  81.     ambient 0.25 
  82.     diffuse 0.7 
  83.     phong 1.0 
  84.     phong_size 90  
  85. }
  86.  
  87.  
  88. //------- Mettalic Chrome
  89. #declare  Chrome = texture { 
  90.     color red 0.84 green 0.84 blue 0.84 
  91.     0.03  
  92.     ambient 0.3 
  93.     diffuse 0.3 
  94.     roughness 0.9 
  95.     metallic 
  96.     brilliance 7.5
  97.     reflection 0.3  
  98.     phong 0.7 
  99.     phong_size 10 
  100.     scale <0.1 0.1 0.1> 
  101. }
  102.  
  103.  
  104. //------- Mettalic Gold
  105. #declare  GOLD = texture { 
  106.     color red 0.94 green 0.64 blue 0.20 
  107.     0.03  
  108.     ambient 0.3 
  109.     diffuse 0.3 
  110.     roughness 0.9 
  111.     metallic 
  112.     brilliance 7.5
  113.     reflection 0.3  
  114.     phong 0.7 
  115.     phong_size 10 
  116.     scale <0.1 0.1 0.1> 
  117. }
  118.  
  119.  
  120. //------- Black Glass
  121. #declare  BLACK_G = texture { 
  122.     color DimGray 
  123.     ambient 0.3 
  124.     diffuse 0.3 
  125.     reflection 0.3 
  126.     phong 2.0 
  127. }
  128.  
  129. //------- Glass
  130. #declare  GLASS = texture { 
  131.     color Clear 
  132.     ambient 0.1 
  133.     diffuse 0.0  
  134.     refraction 1.0 
  135.     ior 1.0
  136. }
  137.  
  138.  
  139. //------- Wood
  140. #declare WOOD11 = texture { 
  141.     DMFWood4 
  142.     scale <5 8 3> 
  143.     rotate <0 0 0> 
  144.     ambient 0.3 
  145.     diffuse 0.7 
  146.     phong 0.7 
  147.     phong_size 60  
  148. }
  149.  
  150.  
  151. //-------- Handle for Mouth Gap Release
  152.  
  153. #declare Dot =
  154.     quadric {
  155.        < 1.0  1.0  1.0>
  156.        < 0.0  0.0  0.0>
  157.        < 0.0  0.0  0.0>
  158.         -1.0
  159.     }
  160.  
  161. #declare Connector_1 = 
  162.    object {
  163.       quadric {
  164.          < 0.0  1.0  1.0>
  165.          < 0.0  0.0  0.0>
  166.          < 0.0  0.0  0.0>
  167.           -1.0
  168. }      
  169. clipped_by {
  170.          plane { < 1.0  0.0  0.0> 1.0 }
  171.          plane { <-1.0  0.0  0.0> 0.0 }
  172. }}
  173.  
  174.  
  175. //----- Handle For Carrage Release
  176. #declare ROD =
  177.  composite {
  178.  
  179. object {
  180.     quadric { Dot }
  181.      texture { Chrome }
  182. }
  183.  
  184. object { Connector_1
  185.     scale     < 10.000000  1.000000  1.000000>
  186.       rotate    < 0.000000  90.000000  0.000000>
  187.           texture { Chrome }
  188. }
  189.  
  190. object {
  191.     quadric { Dot
  192.     translate < 0.000000  0.000000 -10.000000> }
  193.         texture { Chrome }
  194. }
  195.  
  196. object { Connector_1
  197.     scale     < 21.189620  1.000000  1.000000>
  198.     rotate    < 0.000000  0.000000 -19.290046>
  199.     rotate    < 0.000000  143.130102  0.000000>
  200.     translate < 0.000000  0.000000 -10.000000>
  201.         texture { Chrome }
  202. }
  203.  
  204. object {
  205.     quadric { Dot scale <2 2 2>
  206.     translate <-16.000000 -7.000000 -22.000000> }
  207.         texture { Chrome }
  208. }
  209.  
  210. bounded_by {
  211.     quadric { Dot
  212.     scale < 17.226506  17.226506  17.226506>
  213.     translate <-8.000000 -3.500000 -11.000000> }}
  214. }
  215.  
  216.  
  217. //----- Cutter for Hood ...thx Dan
  218. #declare  HOLE = difference { sphere { <0 0 0> 19.5 inverse }}
  219.  
  220.  
  221. //----- Mouth Rim 
  222. #declare RIM = object {
  223.    difference {
  224.     union {
  225.        intersection { Y_Disk scale <20.5 2 20.5> }
  226.        intersection { Cube scale <5 2 10> translate <22.5 0 0> }
  227.     }
  228.        quadric { Cylinder_Y scale <11 1 11> translate <27.5 0 -15> }
  229.        quadric { Cylinder_Y scale <11 1 11> translate <27.5 0 15> }
  230.    }
  231.         texture { DGray }
  232.            bounded_by { 
  233.            quadric { Sphere scale <30 8 30> translate <3 0 0> }
  234.            }
  235. }
  236.  
  237. //------ Knob Grip
  238. #declare KB = intersection { Z_Disk scale <0.75 0.75 1> translate <-3.2 0 -3> }
  239.  
  240. //------ Pin Bolts
  241. #declare PIN_BOLT = 
  242. object {
  243.    quadric { Sphere scale <1 1 0.5> }
  244.     texture { Chrome }
  245. }
  246.  
  247. //------ Small Knob
  248. #declare S_KNOB = object {
  249. union {
  250. intersection { Z_Disk scale <2 2 1> translate <0 0 -1> }
  251. intersection { Z_Disk scale <4 4 0.1> translate <0 0 -2> }
  252. intersection { Z_Disk scale <3 3 1.2> translate <0 0 -3> }
  253. quadric { Sphere scale <2.5 2.5 1> translate <0 0 -4.2> }
  254. intersection { KB rotate <0 0 0> }
  255. intersection { KB rotate <0 0 30> }
  256. intersection { KB rotate <0 0 60> }
  257. intersection { KB rotate <0 0 90> }
  258. intersection { KB rotate <0 0 120> }
  259. intersection { KB rotate <0 0 150> }
  260. intersection { KB rotate <0 0 180> }
  261. intersection { KB rotate <0 0 210> }
  262. intersection { KB rotate <0 0 240> }
  263. intersection { KB rotate <0 0 270> }
  264. intersection { KB rotate <0 0 300> }
  265. intersection { KB rotate <0 0 330> }}
  266. texture { Kidney }
  267. bounded_by { sphere { <0 0 -2> 6 }}}
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275. //************************************************
  276. //------ Build Light Hood
  277.  
  278. #declare L_HOOD = composite {
  279. //----- Top Light Socket Trim
  280. object {
  281. union {
  282. quadric { Sphere scale <6 2 6> translate <0 40 0> } 
  283. intersection { Y_Disk scale <6 0.5 6> translate <0 39.5 0> }
  284. intersection { Y_Disk scale <6.5 0.5 6.5> translate <0 38.5 0> }
  285. intersection { X_Disk scale <2 1.5 2> translate <5.5 35.5 0> }
  286. intersection { Y_Disk scale <6.5 0.5 6.5> translate <0 32.5 0> }}
  287. texture { GOLD }
  288. bounded_by { sphere { <0 35 0> 11 }}
  289. } // end object
  290.  
  291. //----- Hood with HeatSink Fins
  292. object {
  293. union {
  294. difference {
  295. union {
  296. intersection { Cube scale <20 20 0.5> translate <0 11 0> }
  297. intersection { Cube scale <20 20 0.5> translate <0 11 3> }
  298. intersection { Cube scale <20 20 0.5> translate <0 11 -3> }
  299. intersection { Cube scale <0.5 20 20> translate <0 11 0> }
  300. intersection { Cube scale <0.5 20 20> translate <3 11 0> }
  301. intersection { Cube scale <0.5 20 20> translate <-3 11 0> }
  302. quadric { Sphere scale <16 16 16>  translate <0 11 0> } 
  303. }
  304. plane { <0 1 0> 11 }
  305. difference { HOLE translate <0 11 0> }}
  306. intersection { Y_Disk scale <7.5 4 7.5> translate <0 28 0> }
  307. intersection { Y_Disk scale <19.5 3.5 19.5> translate <0 7.5 0> }}
  308. texture { WrinkleGray }
  309. bounded_by { sphere { <0 11 0> 26.5  }}
  310. }
  311.  
  312. //------ Socket & Cord Support
  313. object {
  314. union{
  315. intersection { Y_Disk scale <5.5 2.5 5.5> translate <0 35.5 0> }
  316. intersection { X_Disk scale <2.5 1 1> translate <7.5 35.5 0> }}
  317. texture { Chrome }
  318. bounded_by { sphere { <0 35.5 0> 12 }}}
  319.  
  320. //----- Add Top Mouth Rim
  321. object { RIM translate <0 2 0> }
  322. bounded_by { sphere { <0 11 0> 38 }}
  323.  
  324. } //end composite
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333. //******************************************************
  334. //------ Hieght Adjustment
  335. #declare H_ADJUST = composite {
  336. //------ Slider
  337.  
  338. object {
  339. difference {
  340. union {
  341. quadric { Cylinder_Y scale <6 1 6> }
  342. intersection { Cube scale <8 20 2.5> translate <0 18 0> }}
  343. plane { <0 1 0> 0 }
  344. plane { <0 1 0> 35 inverse }
  345. intersection { Cube scale <1 12.5 15> translate <-4 17.5 0> }
  346. intersection { Cube scale <5 12.5 15> translate <8 17.5 0> }
  347. intersection { Cube scale <25 52.5 0.6> translate <0 0 0> }}
  348. texture { WrinkleGray }
  349. bounded_by { sphere { <0 12.5 0> 25 }}}
  350.  
  351. //---- Angle Brace
  352. object {
  353. union {
  354. intersection { Cube scale <0.5 16 1.5> translate <-8.5 19 0> } 
  355. intersection { Cube scale <2 0.5 1.5> translate <-11 34.5 0> } 
  356. intersection { Cube scale <0.5 2 1.5> translate <-13.5 36 0> } 
  357. intersection { Cube scale <0.5 20 1.5> rotate <0 0 24.5> translate <-16 19 0> } 
  358. triangle { <-9 4 0> <-9 34 0> <-23 34 0> }
  359. triangle { <-23 34 0> <-24.5 38 0> <-14 38 0> }
  360. triangle { <-23 34 0> <-14 34 0> <-14 38 0> }
  361. intersection { X_Disk scale <6 3 3> translate <-19 40 0> }
  362. }
  363. texture { WrinkleGray }
  364. bounded_by { sphere { <-14 21 0> 28 }}}
  365.  
  366. object { S_KNOB translate <0 24 -7.6> }
  367. object { S_KNOB translate <-19 40 -4.5> }
  368. object { PIN_BOLT translate <-6.5 2.5 -2.5> }
  369. object { PIN_BOLT translate <-6.5 32.5 -2.5> }
  370. object { PIN_BOLT translate <6.5 2.5 -2.5> }
  371. object { PIN_BOLT translate <6.5 32.5 -2.5> }
  372.  
  373. } // end composite
  374.  
  375.  
  376.  
  377. //************************************************************
  378. //------- Bottom Mouth & Support Bars
  379. #declare SUPPORT = composite {
  380.  
  381. //------- Place Bottom Rim
  382. object { RIM translate <0 0 0> }
  383.  
  384. //------- Vertical Gap Rod Support
  385. object {
  386. intersection { Cube scale <3.5 4 4> translate <24 -6 0> }
  387. texture { WrinkleGray }}
  388.  
  389. //------- Vertical Gap Rods
  390. object {
  391. difference {
  392. union {
  393. quadric { Cylinder_Y scale <1 1 1> translate <22.5 0 -2> }
  394. quadric { Cylinder_Y scale <1 1 1> translate <22.5 0 2> }}
  395. plane { <0 1 0> -20 }
  396. plane { <0 1 0> 9 inverse }}
  397. texture { Chrome }
  398. bounded_by { sphere { <23 -6 0> 19 }}}
  399.  
  400. //------- Horizonal Adjustment Bar
  401. object {
  402. intersection { X_Disk scale <10 1.5 1.5> translate <36.5 -1 0> }
  403. texture { Chrome }}
  404.  
  405. bounded_by { quadric { Sphere scale <40 25 40> translate <13 0 0> }}}
  406.  
  407.  
  408.  
  409. //***************************************************
  410. //------ Bellow Side
  411. #declare BS = object {
  412. union {
  413. triangle { <-8 0 0> <8 0 0> <-12 4 -4> }
  414. triangle { <-12 4 -4> <12 4 -4> <8 0 0> }
  415. triangle { <-12 4 -4> <12 4 -4> <9 8 -1> }
  416. triangle { <9 8 -1> <-9 8 -1> <-12 4 -4> }
  417. triangle { <-9 8 -1> <9 8 -1> <13 12 -5> }
  418. triangle { <13 12 -5> <-13 12 -5> <-9 8 -1> }
  419. triangle { <-13 12 -5> <13 12 -5> <-10 16 -2> }
  420. triangle { <-10 16 -2> <10 16 -2> <13 12 -5> }
  421. triangle { <-10 16 -2> <10 16 -2> <14 20 -6> }
  422. triangle { <14 20 -6> <-14 20 -6> <-10 16 -2> }
  423. triangle { <-14 20 -6> <14 20 -6> <-11 24 -3> }
  424. triangle { <-11 24 -3> <11 24 -3> <14 20 -6> }
  425. triangle { <-11 24 -3> <11 24 -3> <15 28 -7> }
  426. triangle { <15 28 -7> <-15 28 -7> <-11 24 -3> }
  427. triangle { <-15 28 -7> <15 28 -7> <-12 32 -4> }
  428. triangle { <-12 32 -4> <12 32 -4> <15 28 -7> }
  429. triangle { <-12 32 -4> <12 32 -4> <13 36 -5> }
  430. triangle { <13 36 -5> <-13 36 -5> <-12 32 -4> }}
  431. texture { BELL }
  432. bounded_by { intersection { Cube scale <20 24 10> translate <0 20 -2> }}}
  433.  
  434.  
  435. //------- Put Bellow Sides Together
  436. #declare BELLOW = composite {
  437. object { BS rotate <0 0 0> translate <0 0 -8> }
  438. object { BS rotate <0 0 0> translate <0 0 8> }
  439. object { BS rotate <0 90 0> translate <-8 0 0> }
  440. object { BS rotate <0 -90 0> translate <8 0 0> }
  441. }
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448. //***********************************************
  449. //------ Lens Support & Adjuster
  450. #declare LENS_S = composite {
  451.  
  452. object {
  453. difference {
  454. union {
  455. intersection { Cube scale <10.5 1.5 10.5> translate <0 -1.5 0> }
  456. intersection { Cube scale <2.5 1.5 8> translate <13 -1.5 0> }
  457. intersection { Cube scale <4 6.5 3> translate <16.5 -6.5 0> }}
  458. quadric { Cylinder_Y scale <5 1 5> translate <15.5 0 -8> }
  459. quadric { Cylinder_Y scale <5 1 5> translate <15.5 0 8> }
  460. quadric { Cylinder_Y scale <5 1 5> translate <0 0 0> }
  461. intersection { Cube scale <9.5 2 9.5> translate <0 -3 0> }}
  462. texture { WrinkleGray }
  463. bounded_by { sphere { <5 -7 0> 23 }}}
  464.  
  465. //------ Add Knob & Vertical Rod for Lens Adjustment
  466. object { S_KNOB scale <1.2 1.2 1.2> translate <19 -10 -11> }
  467.  
  468. object {
  469. union {
  470. intersection { Y_Disk scale <1.5 30 1.5> translate <16 9 0> }
  471. intersection { Z_Disk scale <1 1 5> translate <19 -10 -7> }}
  472. texture { Chrome }
  473. bounded_by { intersection { Cube scale <10 35 15> translate <19 9 -6> }}}}
  474.  
  475.  
  476.  
  477. //*************************************************
  478. //------ Main Vertical Support Post
  479.  
  480. #declare M_POST = composite {
  481. //---- Crown
  482. object {
  483. union {
  484. difference {
  485. quadric { Cone_Y scale <7 9 7> }
  486. plane { <0 1 0> 0 }
  487. plane { <0 1 0> 9 inverse }}
  488. difference {
  489. sphere { <0 9 0> 7 }
  490. plane { <0 1 0> 9 }}
  491. intersection { Y_Disk scale <6 0.5 6> translate <0 6.5 0> }}
  492. texture { GOLD }
  493. bounded_by { sphere { <0 8 0> 10 }}
  494. translate <0 150 0> 
  495. }
  496. //---- Post
  497. object {
  498. intersection { Y_Disk scale <5 78 5> translate <0 78 0> }
  499. texture { Chrome }}
  500.  
  501. bounded_by { intersection { Cube scale <8 90 8> translate <0 85 0> }}
  502. }
  503.  
  504.  
  505. //******************************************
  506. //----Lens
  507. #declare LENS = composite {
  508.  
  509. object {
  510. difference {
  511. union {
  512. intersection { Y_Disk scale <5.5 2 5.5> translate <0 -2 0> }
  513. intersection { Y_Disk scale <6.8 0.5 6.8> translate <0 -4.5 0> }
  514. intersection { Y_Disk scale <6.5 0.5 6.5> translate <0 -8.5 0> }
  515. intersection { Y_Disk scale <6 1.5 6> translate <0 -6.5 0> }}
  516. quadric { Cylinder_Y  scale <5 1 5> }}
  517. texture { Chrome }
  518. bounded_by { sphere { <0 -4 0> 11 }}}
  519.  
  520. //object {
  521. //quadric { Sphere scale <5.1 1 5.1> translate <0 -8 0> }
  522. //texture { GLASS }}
  523.  
  524. bounded_by { sphere { <0 -4 0> 11 }}}
  525.  
  526.  
  527. //**********************************************************
  528. //------- Negative Carrage
  529.  
  530. #declare CARRAGE = object {
  531. union {
  532. intersection { Y_Disk scale <19 1 19> translate <0 0 0> }
  533. intersection { X_Disk scale <8 0.3 0.3> translate <-26.5 0 0> }
  534. sphere { <-34 0 0> 1.5 }}
  535. texture { Chrome }
  536. bounded_by { intersection { Cube scale <35 2 20> translate <-5 0 0> }}}
  537.  
  538.  
  539. //**********************************************
  540. //-----Base Collar
  541. #declare COLLAR = composite {
  542. object {
  543. difference {
  544. union {
  545. intersection { Y_Disk scale <6 7 6> translate <0 7 0> }
  546. intersection { Cube scale <3 2.5 1> translate <-8 2.5 0> }}
  547. quadric { Cylinder_Z scale <4 4 1> translate <-11 5 0> }}
  548. texture { WrinkleGray }
  549. bounded_by { sphere { <-1 5 0> 19 }}}
  550.  
  551. //---- Plate & Bolts
  552. object {
  553. union {
  554. intersection { Cube scale <12.5 1 12> translate <-3.5 -1 0> }
  555. quadric { Sphere scale <2 1.5 2> translate <-13.5 0 0> }
  556. quadric { Sphere scale <2 1.5 2> translate <0 0 9> }
  557. quadric { Sphere scale <2 1.5 2> translate <0 0 -9> }
  558. intersection { Z_Disk scale <1 1 3> translate <0 7 -8> }}
  559. texture { Chrome }
  560. bounded_by { sphere { <0 3 0> 20 }}}
  561.  
  562. object { S_KNOB translate <0 7 -10> }
  563. bounded_by { sphere { <0 3 0> 20 }}}
  564.  
  565.  
  566.  
  567. //***********************************************
  568. //----- Base
  569. #declare BASE = composite {
  570.  
  571. object {
  572. union {
  573. intersection { Cube scale <60 3.5 50> translate <0 0 0> }}
  574. texture { WOOD11 }}
  575.  
  576. object {
  577. union {
  578. intersection { Cube scale <56 1 46> translate <0 3.5 0> }}
  579. texture { BLACK_G }}}
  580.  
  581.  
  582. //***********************************************
  583. //------ Side Walls
  584. #declare WALL = composite   {
  585. object {
  586. plane { <0 0 1> 0 }
  587. texture { color Black ambient 1.0 reflection 0.5 }}
  588.  
  589. object {
  590. plane { <1 0 0> -4000 }
  591. texture { color CadetBlue ambient 1.0 reflection 0.5 }}}
  592.  
  593.  
  594.  
  595. #declare REF = object {
  596. intersection { Cube scale <200 200 1> }
  597. texture { color Black   }
  598. texture { 
  599. gradient <0 1 0>
  600. color_map {
  601. [0.0 0.2 color Black color Black alpha 0.2 ]
  602. [0.2 1.0 color Black alpha 0.2 color Clear ]}
  603. reflection 0.3
  604. scale <1 250 33> translate <0 -60 0> }}
  605.  
  606. #declare REF1 = object {
  607. intersection { Cube scale <200 200 1> }
  608. texture { color red 0.05 green 0.0 blue 0.05   }
  609. texture { 
  610. gradient <0 1 0>
  611. color_map {
  612. [0.0 0.2 color Black color Black alpha 0.2 ]
  613. [0.2 1.0 color Black alpha 0.2 color Clear ]}
  614. reflection 0.1
  615. scale <1 250 33> translate <0 -60 0> }}
  616.  
  617. #declare REF2 = object {
  618. intersection { Cube scale <200 200 1> }
  619. texture { color red 0.1 green 0.0 blue 0.05   }
  620. texture { 
  621. gradient <0 1 0>
  622. color_map {
  623. [0.0 0.2 color Black color Black alpha 0.2 ]
  624. [0.2 1.0 color Black alpha 0.2 color Clear ]}
  625. scale <1 250 33> translate <0 -60 0> }}
  626.  
  627.  
  628.  
  629.  
  630. //***********************************************************
  631. //-------- ASSEMBLE COMPOSITES
  632. composite {
  633.  
  634. composite {
  635. composite { L_HOOD  translate <-70.5 152 0> }
  636. composite { H_ADJUST translate <-14 107 0> }
  637. composite { SUPPORT translate <-70.5 148 0> } 
  638. composite { BELLOW translate <-70.5 110 0> }
  639. composite { LENS_S translate <-70.5 110 0> }
  640. composite { WALL rotate <0 60 0>  translate <0 0 2000> }
  641. composite { LENS translate <-70.5 109 0> }
  642. object { CARRAGE translate <-70.5 151 0> }
  643. composite { ROD translate <-45 140 -4> }
  644. object { SPOT translate <-70.5 102 0>  }
  645. translate <0 -50 0> }  // this raises & lowers enlarger head
  646.  
  647. composite { M_POST translate <-14 -30 0> } //---should be <-14 7 0>
  648. composite { COLLAR translate <-14 6 0> }
  649. composite { BASE translate <-58 -0.5 0> }
  650. object { REF translate <0 0 70> }
  651. object { REF1 translate <150 0 65> }
  652. object { REF2 translate <200 0 60> }
  653.  
  654. rotate <0 -15 0>
  655. }
  656.  
  657.  
  658.  
  659. composite { world29 }
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680. ə